<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    Function.prototype.apply = function(content,arr=[]){
        if(typeof content === "undefined" || content === null){
            content = window;
        }else if(typeof content !== "object" && typeof content !== "function"){
            content = new Object(content);
        }
        const key = Math.random().toString().slice(2);
        content[key] = this;
        eval("content[key]("+arr.join(",")+")");// content[key](1,2,3,4)===>content.abc(1,2,3,4)
        delete content[key];
    }

   function fn(a,b,c,d){
       console.log(this,a,b,c,d);
   }
   fn.apply(1,[1,2,3,4]);
</script>
</html>